package com.duobaoyu.dby.supply.biz.client.resource;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.duobaoyu.dby.channel.adapter.bean.config.DictionaryConfig;
import com.duobaoyu.dby.supply.biz.client.resource.bean.dto.DictionaryItemDTO;
import com.duobaoyu.dby.supply.biz.client.resource.bean.vo.DictionaryItemVO;
import com.duobaoyu.dby.supply.biz.client.resource.bean.vo.DictionaryVO;

import java.util.List;

/**
 * @author liyang
 * @version 1.0.0
 * @ClassName ResourceDictionaryItemAdminClient
 * @Description 字典项
 * @createTime 14:34:00 2023/10/08
 */
public interface ResourceDictionaryItemAdminClient {

    boolean createDictionaryItem(DictionaryItemDTO dictionaryItem);

    boolean updateDictionaryItem(DictionaryItemDTO dictionaryItem);

    boolean removeDictionaryItemByIds(List<Long> dictionaryItemIds);

    Page<DictionaryItemVO> queryPage(DictionaryItemDTO dictionaryItem);

    DictionaryVO getDictionaryItemByDictionaryId(Long dictionaryId);

    boolean initializeBloomFilter();

    boolean initializeBloomFilter(Long dictionaryItemId, Long expectedInsertions, Double falseProbability);

    List<DictionaryConfig> getCacheDictionaryItemByDictionaryCode(String dictionaryCode);
}
